爬虫想要的HTML

这篇具有很好参考价值的文章主要介绍了爬虫想要的HTML。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我的个人博客主页:如果’'真能转义1️⃣说1️⃣的博客主页
关于Python基本语法学习---->可以参考我的这篇博客:《我在VScode学Python》
接下来回更新一个关于urllib的文章

  • 网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。
  • 其目的一般为编纂网络索引(英语:Web indexing)。
  • 网络搜索引擎等站点通过爬虫软件更新自身的网站内容(英语:Web content)或其对其他网站的索引。
  • 网络爬虫可以将自己所访问的页面保存下来,以便搜索引擎事后生成索引(英语:Index (search engine))供用户搜索

爬虫一个新浪博客地址

import urllib.request

page = 1
url = [" "] * 100

# Open file for writing
with open("urls418.txt", "w") as f:
    while page <= 2:
        cont = urllib.request.urlopen("https://blog.sina.com.cn/s/articlelist_1219548027_0_" + str(page) + ".html").read()
        cont = str(cont)
        title = cont.find("a title")
        href = cont.find("href=", title)
        html = cont.find(".html", href)

        i = 0
        a = 1
        #find()方法在未找到子字符串时返回-1,因此值-1被用作一种约定,以指示cont字符串中缺少子字符串。
        #在while循环中,title、href和html变量被更新为相应子字符串的下一个出现的索引。
        # 如果这些变量中的任何一个是-1,则表示相应的子字符串未找到,循环应该终止。因此,当超出了范围时,就会返回-1。
        while i <= 50 and title != -1 and href != -1 and html != -1:
            url[i] = cont[href + 6:html + 5]
            url[i] ="https:" + url[i]
            print("a=",a,url[i])

            # Write URL to file
            f.write(url[i] + "\n")

            title = cont.find("a title", html)
            href = cont.find("href=", title)
            html = cont.find(".html", href)
            i = i + 1
            a=a+1
        else:
            f.write("over\n")
            print("over")
        page = page + 1

print("all over")

解释:

它的目标是从一个网站中爬取URL并将它们写入文件。使用urllib.request模块进行HTTP请求。代码将page变量初始化为1,将url列表初始化为100个空字符串。然后使用with语句以写模式打开名为"urls418.txt"的文件,这可以确保在写入后正确关闭文件。

然后,代码进入一个while循环,只要page小于或等于2,就会一直运行。在循环内部,代码使用urllib.request.urlopen()对特定URL进行HTTP请求,并将响应读入字符串变量cont中。然后,代码使用find()方法在cont中搜索字符串"a title"的第一次出现的索引,并将其赋值给变量title。然后,它从title索引开始搜索字符串"href=“的第一次出现,并将其赋值给变量href。最后,它从href索引开始搜索字符串”.html"的第一次出现,并将其赋值给变量html。

然后,代码进入一个嵌套的while循环,只要i小于或等于50且title、href和html不等于-1,就会一直运行。在循环内部,代码使用字符串切片从cont中提取URL,并将其分配给url列表中的索引i。然后,它在URL前面添加"https:"并将其打印到控制台。代码还使用write()方法将URL写入先前打开的文件。然后,代码将title、href和html变量更新为相应字符串在cont中的下一个出现的索引,并将i和a分别增加1。

如果while循环由于i超过50或任何变量等于-1而终止,则代码将字符串"over"写入文件并将其打印到控制台。然后,将page变量增加1,并重复循环,直到page大于2。最后,代码将字符串"all over"打印到控制台。

如果要修改代码以从不同的网站中爬取URL,则可以更改传递给urllib.request.urlopen()的URL。如果要将URL写入不同的文件,则可以更改传递给open()函数的文件名。如果要修改要爬取的URL的最大数量,则可以更改嵌套的while循环中的i <= 50条件的值。如果要修改要爬取的页面范围,则可以更改外部while循环中的条件。

注意事项

urllib.request访问请求
需要 file记录内容

同样的,将里面的参数改一下知道里面是有什么样的内容了,改成< p >和< /p >的获取,就是获取内容了。

find()方法在未找到子字符串时返回-1,因此值-1被用作一种约定,以指示cont字符串中缺少子字符串。

爬虫想要的HTML
有些甚至要用到正则表达式:

  res = requests.get(url,headers=headers)
    titles = re.findall('<h1>(.*?)</h1>', res.text, re.S)
    numbers = re.findall('<div class="creab">.*?<span>(.*?)</div>',res.text,re.S)
    contents = re.findall('<p>(.*?)</p>',res.content.decode('GBK'),re.S)
#这里就是你需要的了




 for title, number,content in zip(titles,numbers,contents):
        f.write(title + '\n')
        f.write(number + '\n')
        f.write(content+'\n')   #正则获取数据写入txt文件中

zip函数用于并行迭代多个列表。在这种情况下,zip用于同时迭代titles、numbers和contents列表。文章来源地址https://www.toymoban.com/news/detail-442112.html

到了这里,关于爬虫想要的HTML的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • html实现好看的个人介绍,个人主页模板3(附源码)

    作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/131263195 html实现好看的个人介绍,个人主页模板3(附源码) ,第三种风格,html源码下载,响应式布局,动态展示数据效果,界面整洁,布局清晰。 代码备注详细,可在此基础上更加完善功能,打造属于自己的个人

    2024年02月10日
    浏览(86)
  • html网页设计小作业(个人主页)

    目录 作品介绍: 效果展示 代码部分: 简易的个人网页小作业,只用了html+css 布局制作,没啥好说的,直接上图!!! Home 页面:  About页面:    Hobbies页面: Home界面: About页面:  Hobbies页面: oKK,就这么多啦。。

    2024年02月11日
    浏览(50)
  • 一个简单的HTML网页 、个人主页网页设计(HTML+CSS)

    🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】 🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作

    2024年02月04日
    浏览(57)
  • javaweb个人主页设计(html+css+js)

    目录 1 前言和要求 1.1 前言 1.2 设计要求 2 预览 2.1 主页页面 2.2 个人简介 2.3 个人爱好 2.4 个人成绩有代码,但是图片已省略,可以根据自己情况添加 2.5 收藏夹 3 代码实现  3.1 主页 3.2 个人简介 3.3 个人爱好 3.4 个人成绩(根据自己的情况添加) 3.5 收藏夹 4 可能要用的图片,

    2024年02月09日
    浏览(84)
  • 爬虫想要的HTML

    我的个人博客主页:如果’\\\'真能转义1️⃣说1️⃣的博客主页 关于Python基本语法学习----可以参考我的这篇博客:《我在VScode学Python》 接下来回更新一个关于urllib的文章 网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。 其目的

    2024年02月04日
    浏览(29)
  • WEB网页设计期末作业个人主页——基于HTML+CSS制作个人简介网站

    🧑个人网页设计、🙋‍♂️个人简历制作、👨‍💼简单静态HTML个人网页作品、👨‍🏭个人介绍网站模板 、等网站的设计与制作。 ⭐个人网页设计网站模板采用DIV CSS布局制作,网页作品有多个页面,如 :个人介绍(文字页面)、我的作品(图片列表)、个人技能(图文页

    2024年02月05日
    浏览(71)
  • 好看的个人主页,导航页HTML源码源码三分钟下载安装

    二、下载: 时钟个人引导页导航页 https://wwm.lanzout.com/i3Dpu08b7gve 三、用途: 可盈利,利用打赏、VIP、内容付费、广告盈利、资源付费等方法盈利。(注:盈利和商业化须获得源码作者同意) 搜索引擎可收录 可修改打赏页面 可替换自己喜欢的图片 可供初学者学习网页原理 可

    2024年02月11日
    浏览(45)
  • HTML设计个人博客页面

    以下是一个简单的HTML代码示例,用于创建一个具有学术风格的个人博客主页: 在这个示例中,我们首先使用meta标签设置页面的字符集和视口大小。然后,我们导入了Google字体“Lato”,并定义了一些基本的样式,包括背景色、字体、字号、行高和颜色。 页面主体包括一个名

    2024年02月06日
    浏览(46)
  • html简洁风格的个人博客网站模板(源码)

    作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/128288153 html简洁风格的个人博客网站模板 html简洁风格的个人博客网站模板,里面包括首页面,列表页面,文章详细页面,资源页面,时间记录条页面等模板页面,可以借鉴这个模板,开发自己的博客,容易上手

    2024年02月07日
    浏览(72)
  • python爬虫_selenuim登录个人markdown博客站点

    大家好,我是yma16,本文分享python使用selenuim登录个人markdown博客站点。 该系列文章: python爬虫_基本数据类型 python爬虫_函数的使用 python爬虫_requests的使用 python爬虫_selenuim可视化质量分 python爬虫_django+vue3可视化csdn用户质量分 python爬虫_正则表达式获取天气预报并用echarts折线

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包