大家好,cf神奇工作室网站源码分享相信很多的网友都不是很明白,包括cf神奇工作室一天收入也是一样,不过没有关系,接下来就来为大家分享关于cf神奇工作室网站源码分享和cf神奇工作室一天收入的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
需求描述:爬取知乎的答案,爬取并下载一个问题下所有回答中的图片。
实现平台:开发工具PyCharm2017,语言版本Python3.6,Chrome谷歌浏览器。
基本原理:1.发送请求,获取网页HTML源码;解析HTML,获取数据;保存数据。2
模拟浏览器登录,获取并解析HTML,获取数据。利用Python中的库即可便捷实现。
功能实现1:知乎答案爬取
实现思路:
1.首先实现安装好第三方模块requests和bs4并调用。
2.其次设置Http请求头,利用requests访问网页获取到源代码,利用bs模块中的BeautifulSoup得到解析过后的html。
3.随后,分别通过对照网页源代码中标签内容进行匹配,分别获取问题标题、问题内容、点赞数以及答案等内容。
4.最后进行包括知乎答案等信息的打印。
分别对应上述思路进行代码编写。
1.调用第三方模块。
爬取知乎答案
importrequests
frombs4importBeautifulSoup
2.设置Http请求头:可以在Chrome谷歌浏览器的网页中的任意地方按下F12,打开chrome自带的调试工具,在调试工具中选择network标签,F5刷新网页后在左边找到该网页url,点击该url,选择Headers,就可以看到当前网页的Http头。复制到header={}中。
获取源代码并解析:利用requests和BeautifulSoup实现,并返回解析后的body。
设置Http请求头,根据自己电脑查一下
header={
&39;:&39;,
&39;:&39;,
&39;:&39;,
&39;:&39;,
&39;:&39;
}
req=requests.get(url,headers=header)
req.encoding=&39;
bs=BeautifulSoup(req.text,&34;)
returnbody
3.标签内容进行class匹配:问题标题——QuestionHeader-title,问题内容——RichTextztext,点赞量——ButtonVoteButtonVoteButton—up,问题回答——ContentItem-time。
39;h1&39;class&39;QuestionHeader-title&匹配标签
returndata.string.encode(&39;)
39;span&39;class&39;RichTextztext&39;&39;utf-8&39;utf-8&39;内容:\\n&39;内容:\\n&39;utf-8&获取点赞数
defget_answer_agree(body):
agree=body.find(&39;,{&39;:&39;})
agree_html=BeautifulSoup(str(agree),&34;)
all_buttons=agree_html.find_all(&34;,{&34;:&34;})
one_button=all_buttons[0]
agree_number=one_button[&34;]
print(agree_number)
39;&39;div&39;class&39;ContentItem-time&获取标签
answerhref=response[index].find(&39;,{&39;:&39;})
ifnot(answerhref[&39;].startswith(&39;)):
url=&39;+answerhref[&39;]
body=get_content(url)
get_answer_agree(body)
answer=body.find(&39;,{&39;:&39;})
ifanswer.stringisNone:
out=&39;
fordatastringinanswer.strings:
datastring=datastring.encode(&39;)
out=out+&39;+str(datastring,encoding=&39;)
else:
print(answer.string.encode(&39;))
out1=out1+&39;+out
returnurl+&39;+out1
4.结果输出打印:以一个网址为例,调用之前编写的函数,进行信息的获取和打印。
39;https://www.zhihu.com/question/505503990/answer/2276487889&34;标题:&39;utf-8&39;\\n&爬取知乎问题下的所有图片
fromseleniumimportwebdriver
importtime
importurllib.request
frombs4importBeautifulSoup
importhtml.parser
3.自动化打开浏览器并扫码登录知乎,并解析网页HTML信息,查找所有的noscript标签。
defmain():
39;C:\\ProgramFiles\\Google\\Chrome\\Application\\chromedriver.exe&34;https://www.zhihu.com/question/287084175&打开想要爬取的知乎页面
time.sleep(5)
34;window.scrollTo(0,document.body.scrollHeight);&39;button.QuestionMainAction&34;page&执行次数
execute_times(5)
这是原网页HTML信息
result_soup=BeautifulSoup(result_raw,&39;)结构化原HTML文件
withopen(&34;,&39;,encoding=&34;)asraw_result:34;爬取回答页面成功!!!&34;D:/python安装包/PycharmProjects/zhihutupian/noscript_meta.txt&39;wb&39;noscript&找到所有<noscript>node
noscript_inner_all=&34;
fornoscriptinnoscript_nodes:
noscript_inner=noscript.get_text()34;\\n&39;utf-8&将内部内容转码并存储
noscript_meta.write(noscript_all)
noscript_meta.close()
print(&34;)
4.查找所有图片并命名下载。
img_soup=BeautifulSoup(noscript_all,&39;)
img_nodes=img_soup.find_all(&39;)
withopen(&34;,&39;)asimg_meta:
count=0
forimginimg_nodes:
ifimg.get(&39;)isnotNone:
img_url=img.get(&39;)
line=str(count)+&34;+img_url+&34;
img_meta.write(line)
urllib.request.urlretrieve(img_url,&34;+str(count)+&34;)34;图片下载成功&39;__main__':
main()
5.最后进行包括知乎图片的保存。
最后,有相关爬虫需求欢迎通过公众号联系我们.
公众号:320科技工作室
cf神奇工作室网站源码分享和cf神奇工作室一天收入的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!
