大丰做网站费用,网站开发价格评估,广州最新消息,网站运营怎么学爬取笑话集网页 目标网址为#xff1a;http://www.jokeji.cn/list.html 感觉这个网站挺简单#xff0c;不用登陆#xff0c;没有复杂的功能#xff0c;好爬~ 可以现在浏览器中访问这个链接看一下效果#xff0c;你会发现这个页面是个目录#xff0c;有很多笑话页面的链接…爬取笑话集网页 目标网址为http://www.jokeji.cn/list.html 感觉这个网站挺简单不用登陆没有复杂的功能好爬~ 可以现在浏览器中访问这个链接看一下效果你会发现这个页面是个目录有很多笑话页面的链接。 还是先使用简单的代码试试有没有效果 由于爬取的内容发现乱码所以加上encoding import requests # 导入requests库
jokePage requests.get(http://www.jokeji.cn/list.htm)
jokePage.encoding gbk
print(jokePage.text)爬取每个笑话页面的连接 刚刚我们爬的那个页面是所有笑话的目录每个目录是一个链接打开链接才能看到笑话的内容所以我们要从刚刚爬取的页面中提取所有的笑话页面链接。 * 网页就是文本我们要从一个网页中爬取我们想要的内容就是处理字符串 *。所以分析刚刚爬取的页面找到其中所有的笑话页面链接地址。 可以简单的认为一个笑话页面的链接都是如下结构的/jokehtml/***/****.htm,不信你可以去刚刚爬到的网页源码里面看看 知道了笑话页面链接的结构就可以从网页源码里把所有的链接提取出来啦当然要使用正则表达式 import requests # 导入requests库
import re # 导入正则表达式库
jokePage requests.get(http://www.jokeji.cn/list.htm)
jokePage.encoding gbk
jokeList re.findall(/jokehtml/[\w]/[0-9].htm,jokePage.text) # 使用正则表达式找到所有笑话页面的链接
print(jokeList) 利用爬到的笑话网页链接去访问笑话页面 简单点先访问我们获取到的第一个链接既 http://www.jokeji.cn jokeList[0] 这个页面访问的方法一样是用requests.get()方法代码如下 import requests # 导入requests库
import re # 导入正则表达式库
jokePage requests.get(http://www.jokeji.cn/list.htm)
jokePage.encoding gbk
jokeList re.findall(/jokehtml/[\w]/[0-9].htm,jokePage.text) # 使用正则表达式找到所有笑话页面的链接
jokeContent requests.get(http://www.jokeji.cn/jokeList[1]) # 访问第一个链接
jokeContent.encoding gbk
print(jokeContent.text) 比如我就发现所有的笑话都在p/p标签中而且p后面都跟了一个数字代表这个笑话的序号而其他非笑话的 p标签后就没有数字所以可以用p[0-9].*/p这个简单的正则匹配到所有笑话把上面代码修改最后两句 import requests # 导入requests库
import re # 导入正则表达式库
jokePage requests.get(http://www.jokeji.cn/list.htm)
jokePage.encoding gbk
jokeList re.findall(/jokehtml/[\w]/[0-9].htm,jokePage.text) # 使用正则表达式找到所有笑话页面的链接
jokeContent requests.get(http://www.jokeji.cn/jokeList[0]) # 访问第一个链接
jokeContent.encoding gbk
jokes re.findall(P[0-9].*/P, jokeContent.text) # 利用正则找到页面中的所有笑话
print(jokes) 完整代码如下 import requests
import re
jokePage requests.get(http://www.jokeji.cn/list.htm) #取到笑话集完整网址
jokePage.encoding gbk
# print(jokePage.text) #打印html页面
jokeList re.findall(/jokehtml/[\w]/[0-9].htm,jokePage.text) #匹配到所有的链接
print(jokeList)
for jokeLink in jokeList: #取到每一个链接jokeContent requests.get(http://www.jokeji.cn/ jokeLink) # 访问第一个链接jokeContent.encoding gbkjokes re.findall(P[0-9].*/P, jokeContent.text)for joke in jokes: # 循环打印笑话print(joke)print() 最后还是别忘了这篇文章主要目的是练习使用requests库别只顾看笑话了想想爬笑话过程中用到了requests的什么功能。实际上学会了用代码去访问网页转载于:https://www.cnblogs.com/moning/p/8299037.html