3.16-3.22
3.16
难点:爬虫还不是很熟悉,编码问题。
#亲子教育交流群
import requests
import random
import re
# url = \'https://www.douban.com/group/topic/151792674/\' ##家长教育交流群
url = \'https://www.douban.com/group/topic/142200581/\' ##亲子关系交流群
# url = \'https://www.douban.com/group/topic/160407005/\' ##教培行业信息交流群!
def getHtml(url):
user_agents = [
\'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36\',
\'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60\',
\'Opera/8.0 (Windows NT 5.1; U; en)\',
\'Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50\',
\'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50\',
\'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0\',
\'Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10\',
\'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 \',
\'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36\',
\'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11\',
\'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16\',
\'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36\',
\'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko\',
\'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11\',
\'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER\',
\'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)\',
\'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 SE 2.X MetaSr 1.0\',
\'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; SE 2.X MetaSr 1.0) \',
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)",
"Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)",
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)",
"Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)",
"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)",
"Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0",
"Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5",
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20",
"Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52"
]
headers = {
\'Accept\': \'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\',
\'Cookie\': \'ll="108296"; bid=l3iWZpKeDd0; __utmz=30149280.1584331685.1.1.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __yadk_uid=NEOrYL9oL80ow4VepGIuEbgR5KRgWJvH; __gads=ID=cf960c0efdd18bf0:T=1584331700:S=ALNI_MZJfM-9cP73yudJiFBVijUVySG0Ag; douban-fav-remind=1; push_noty_num=0; push_doumail_num=0; __utmv=30149280.20868; ct=y; __utmc=30149280; _pk_ref.100001.8cb4=%5B%22%22%2C%22%22%2C1584358562%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DE3AYV2R4DLu_URPvh2cdbkgEnPyvO-R8UI8KHvbTL2SIWNGzj4PvTK6IbTmgmpec%26wd%3D%26eqid%3Dc9ceef75000683f0000000045e6efba2%22%5D; _pk_ses.100001.8cb4=*; ap_v=0,6.0; __utma=30149280.811580738.1584331685.1584353655.1584358563.7; __utmt=1; _pk_id.100001.8cb4=3122a8cdd9d4b035.1584331685.7.1584358626.1584354708.; __utmb=30149280.14.9.1584358625965\',
\'Referer\': \'https://www.douban.com/group/200161/\',
\'User-Agent\': str(random.choice(user_agents)),
\'Connection\': \'keep-alive\'
}
#正则表达式
pattern_name = r\'<a href="https://www.douban.com/people/.*?/" class="">(.*?)</a>\' #根据html代码找到评论人的昵称
pattern_content = r\'<p class=" reply-content">(.*?)</p>\' #根据html代码找到评论信息
html_response = requests.get(url, headers=headers)
html_response.encoding = \'utf-8\' #根据HTML页面找到编码方式(charset)
try:
if html_response.status_code==200:
# with open(\'douban_name.txt\', \'wb\') as f:
# f.write(pattern_name.encode())
print(111)
result_name = re.findall(pattern_name,html_response.text) #正则查找评论者昵称
result_content = re.findall(pattern_content,html_response.text) #正则查找评论内容
# print(html_response.text)
# print(\'*\'*100)
result = zip(result_name, result_content)
for v in result:
print(v)
# print(result)
#
# print(result_name, result_content)
# print(f\'{result_name}:{result_content}\')
except Exception as e:
print(e)
# def parseHtml(response):
getHtml(url)
版权声明:本文为michealjy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。