Board logo

标题: 网络爬虫_爬(word.zhuohua.store) [打印本页]

作者: admin    时间: 2020-5-6 09:17     标题: 网络爬虫_爬(word.zhuohua.store)

第三方库requests的安装可参考:网络爬虫_爬(电影天堂) 第三方库requests的版本:(会自动安装一些依赖软件包) C:\Users\jacky>pip3 freeze certifi==2022.5.18.1 charset-normalizer==2.0.12 idna==3.3 requests==2.27.1 urllib3==1.26.9 C:\Users\jacky> ###### 例子一: 保存通过URL(http://word.zhuohua.store/)获取到的网页源代码和内容: 脚本内容: #coding=utf-8 import requests url = 'http://word.zhuohua.store/' #网站 (word.zhuohua.store)的URL response = requests.get(url=url) response.encoding = 'utf-8' #有些网站使用utf-8,有些网站使用gbk Key_1 = response.text Path_1 = "./1.txt" f_name = open(Path_1,'w',encoding='utf-8') #写入(覆盖)文件内容 Result_1 = f_name.write(Key_1) f_name.close() 运行脚本的结果:(脚本所在目录下会生成文件1.txt,文件里会包含网页源代码和内容) C:\Users\jacky\Desktop>python xx.py C:\Users\jacky\Desktop> ###### 例子二: 从例子一获取的数据中筛选出版块[功能]下第一个选项的名称: 网页上的格式:(用户未登录时)
图片1.png
2022-6-11 22:44
笺注: 网页代码中,版块[功能]下第一个选项的名称格式,如下:(用户未登录时)

功能

近期文章

脚本内容: #coding=utf-8 import re def func1(): #从文件1.txt中读取数据 Path_1 = "./1.txt" f_name = open(Path_1,'r',encoding='utf-8') fields_1 = f_name.read() #输出文件全部内容 f_name.close() func2(fields_1) def func2(fields_1): #从func1()获得的数据中进行筛选出“近期文章”那一片的内容 Result_1 = re.compile(u'.*?近期文章(.*?).*?',re.S) Result_2 = Result_1.findall(fields_1) Result_3 = Result_2[0] func3(Result_3) def func3(Result_3): Path_1 = "./2.txt" f_name = open(Path_1,'w',encoding='utf-8') #写入(覆盖)文件内容 Result_1 = f_name.write(Result_3) f_name.close() func4() def func4(): #从文件2.txt中读取数据 Path_1 = "./2.txt" f_name = open(Path_1,'r',encoding='utf-8') fields_1 = f_name.readlines() #输出结果为列表,包含换行符 f_name.close() func5(fields_1) def func5(fields_1): #从func4()获得的数据中进行筛选 print('版块[近期文章]下的所有文章名称:') K_1 = '(.*?).*?') Result_2 = Result_1.findall(Key_1) print(Result_2[0]) if __name__ == '__main__': func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 版块[近期文章]下的所有文章名称: 网络爬虫_爬(豆瓣电影) 网络爬虫_爬(电影天堂) 网络爬虫_爬(blog.zhuohua.store) C:\Users\jacky\Desktop> ###### 例子四: 模拟用户登录, 原理:先在登录页面完成登录,再访问指定的网页。 网站 (word.zhuohua.store)的用户登录页面的URL: http://word.zhuohua.store/wp-login.php
图片2.png
2022-6-11 22:53
使用火狐浏览器,按F12,再进行用户登录, 网络》POST》参数》表单数据:
图片3.png
2022-6-11 22:53
图片4.png
2022-6-11 22:54
脚本内容: #coding=utf-8 import requests url_1 = 'http://word.zhuohua.store/wp-login.php?loggedout=true' #用户登录页面的URL frmo_data={ #表单数据;要加英文单引号、逗号 'log': 'jacky', 'pwd': 'Yuplw*JpXXX', 'rememberme': 'forever', 'wp-submit': '登录', 'redirect_to': 'http://word.zhuohua.store/wp-admin/', 'testcookie': '1', } session=requests.Session() header={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; rv:67.0) Gecko/20100101 Firefox/67.0' } Result_1 = session.post(url=url_1,headers=header,data=frmo_data) url_2 = 'http://word.zhuohua.store/' #实际要访问的页面的URL Result_2 = session.get(url=url_2,headers=header).text Path_1 = "./3.txt" f_name = open(Path_1,'w',encoding='utf-8') #写入(覆盖)文件内容 Result_3 = f_name.write(Result_2) f_name.close() 运行脚本的结果:(脚本所在目录下会生成文件3.txt,文件里会包含实际要访问的页面的网页源代码和内容) C:\Users\jacky\Desktop>python xx.py C:\Users\jacky\Desktop> ###### 例子五: 从例子四获取的数据中筛选出版块[功能]下第一个、第二个选项的名称: 网页上的格式:(用户已经登录时)
图片5.png
2022-6-11 22:55
笺注: 网页代码中,版块[功能]下第一个、第二个选项的名称格式,如下:(用户已经登录时)

功能

  • 管理站点
  • 注销
  • 脚本内容: #coding=utf-8 import re def func1(): #从文件3.txt中读取数据 Path_1 = "./3.txt" f_name = open(Path_1,'r',encoding='utf-8') fields_1 = f_name.read() #输出文件全部内容 f_name.close() func2(fields_1) func3(fields_1) def func2(fields_1): Result_1 = re.compile(u'.*?功能.*?wp-admin/">(.*?).*?',re.S) Result_2 = Result_1.findall(fields_1) print("版块[功能]下第一个选项的名称:",Result_2[0]) def func3(fields_1): Result_1 = re.compile(u'.*?功能.*?_WPnonce=.*?">(.*?).*?',re.S|re.I) # re.I 忽略英文字母的大小写 Result_2 = Result_1.findall(fields_1) print("版块[功能]下第二个选项的名称:",Result_2[0]) if __name__ == '__main__': func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 版块[功能]下第一个选项的名称: 管理站点 版块[功能]下第二个选项的名称: 注销 C:\Users\jacky\Desktop> ###### 例子六: 模拟用户登录, 从URL(http://word.zhuohua.store/?p=1)中获取文章名称、已登录的用户名: 笺注: 该文章的名称格式,如下:

    网络爬虫_爬(blog.zhuohua.store)

    该文章里已登录的用户名的格式,如下:

    jacky。编辑您的个人资料。">已登录为jacky。 脚本内容: #coding=utf-8 import requests import re def func1(): url_1 = 'http://word.zhuohua.store/wp-login.php?loggedout=true' #用户登录页面的URL frmo_data={ #表单数据;要加英文单引号、逗号 'log': 'jacky', 'pwd': 'YuplwXXX', 'rememberme': 'forever', 'wp-submit': '登录', 'redirect_to': 'http://word.zhuohua.store/wp-admin/', 'testcookie': '1', } session=requests.Session() header={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; rv:67.0) Gecko/20100101 Firefox/67.0' } Result_1 = session.post(url=url_1,headers=header,data=frmo_data) url_2 = 'http://word.zhuohua.store/?p=1' #实际要访问的页面的URL Result_2 = session.get(url=url_2,headers=header).text Path_1 = "./8.txt" f_name = open(Path_1,'w',encoding='utf-8') #写入(覆盖)文件内容 Result_3 = f_name.write(Result_2) f_name.close() func2() def func2(): #从文件中读取数据 Path_1 = "./8.txt" f_name = open(Path_1,'r',encoding='utf-8') fields_1 = f_name.read() #输出文件全部内容 f_name.close() func3(fields_1) func4(fields_1) def func3(fields_1): Result_1 = re.compile(u'.*?

    (.*?)

    .*?') Result_2 = Result_1.findall(fields_1) print("文章名称:",Result_2[0]) def func4(fields_1): Result_1 = re.compile(u'.*?已登录为(.*?)。.*?') Result_2 = Result_1.findall(fields_1) print("已登录的用户名:",Result_2[0]) if __name__ == '__main__': func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 文章名称: 网络爬虫_爬(blog.zhuohua.store) 已登录的用户名: jacky C:\Users\jacky\Desktop> 相关文章: 正则表达式 网络爬虫_爬(blog.zhuohua.store)

    图片附件: 图片1.png (2022-6-11 22:44, 7.37 KB) / 下载次数 61
    http://blog.zhuohua.store/attachment.php?aid=19936&k=1bfe812c9ff32566d869f606b726a79b&t=1711697329&sid=60jq0P



    图片附件: 图片2.png (2022-6-11 22:53, 48.1 KB) / 下载次数 72
    http://blog.zhuohua.store/attachment.php?aid=19937&k=2e7837324636b88719b7f8a2788f4de9&t=1711697329&sid=60jq0P



    图片附件: 图片3.png (2022-6-11 22:53, 121.69 KB) / 下载次数 63
    http://blog.zhuohua.store/attachment.php?aid=19938&k=e359192e276b92f6de6fd280b4757e05&t=1711697329&sid=60jq0P



    图片附件: 图片4.png (2022-6-11 22:54, 24.24 KB) / 下载次数 59
    http://blog.zhuohua.store/attachment.php?aid=19939&k=a6271db425aa0b659ced1b3057cd4ce9&t=1711697329&sid=60jq0P



    图片附件: 图片5.png (2022-6-11 22:55, 9.1 KB) / 下载次数 67
    http://blog.zhuohua.store/attachment.php?aid=19940&k=ba2eaf2dbbbc29c94c3b6dbc64341e3b&t=1711697329&sid=60jq0P






    欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2