失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python实践3——利用爬虫爬取“广州各大行业微信群二维码信息”及存入数据到MySQL数据库

python实践3——利用爬虫爬取“广州各大行业微信群二维码信息”及存入数据到MySQL数据库

时间:2023-04-08 09:29:55

相关推荐

python实践3——利用爬虫爬取“广州各大行业微信群二维码信息”及存入数据到MySQL数据库

本次以“广州各大行业微信群二维码信息”为例,利用爬虫进行信息“爬取”,并存入数据库,方便后面数据分析处理,以及调用。话不多说,直接上代码:

[python]view plaincopyimportpymysqlimportrequestsimportredefdownload(urlList):#连接MySQLconn=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='******',#根据用户实际密码填写database='pachong',charset='utf8')#获取数据库游标cursor=conn.cursor()#创建表格cursor.execute("createtablet_QR(idINTPRIMARYKEYauto_incrementNOTNULL,nameVARCHAR(50),erweimaVARCHAR(230),weixinhaoVARCHAR(60),industryVARCHAR(60))")forurlpathinurlList:#发起网络请求并下载资源(网页源代码)res=requests.get(urlpath)html=res.text#筛选数据(正则表达式)[群名,二维码图片地址,微信号,行位分类]nameGroup=r'alt="(.*?)">'erweima=r'<imgsrc="(.*?)">'weixinhao=r'<pclass="wxNumc888ellips">\s*(.*?)\s*</p>'industry=r'</span>\s*(.*?)\s*</p>'name_group=pile(nameGroup)erweima_img=pile(erweima)weixin_hao=pile(weixinhao)industry_name=pile(industry)name_list=name_group.findall(html)erweima_list=erweima_img.findall(html)weixinhao_list=weixin_hao.findall(html)industry_list=industry_name.findall(html)#数据再处理,获得最终需要数据name_list1=name_list[2:-1]erweima_list1=[]foriinrange(3,len(erweima_list)-1,2):erweima_list1.append(erweima_list[i])industry_list1=[]forjinrange(1,len(industry_list),2):industry_list1.append(industry_list[j])#将爬取的数据存入数据库MySQL中forkinrange(len(name_list1)):cursor.execute('insertintot_QR(name,erweima,weixinhao,industry)VALUES("%s","%s","%s","%s")'%(name_list1[k],erweima_list1[k],weixinhao_list[k],industry_list1[k]))#获取游标中结果数据cursor.fetchall()#结果提交mit()print("结果已提交")#断开连接conn.close()#生成1-442页网址的列表(字符串的拼接)defurl_list(url):urlList=[]#因442页数据太多,先爬取5页看看效果foriinrange(5):urlPath=url+'&p='+str(i)urlList.append(urlPath)returnurlListif__name__=='__main__':url=r'/group?c=440100&m=1'urlList=url_list(url)download(urlList)

结果图如下:

其中数据库保存了二维码的地址,只要读取地址,就可以找到相应的二维码。

如果觉得《python实践3——利用爬虫爬取“广州各大行业微信群二维码信息”及存入数据到MySQL数据库》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。