python爬取豆瓣电影TOP250数据的代码怎么写
今天小编给大家分享一下python爬取豆瓣电影TOP250数据的代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
在执行程序前,先在MySQL中创建一个数据库"pachong"。
importpymysqlimportrequestsimportre#获取资源并下载defresp(listURL):#连接数据库conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='******',#数据库密码请根据自身实际密码输入database='pachong',charset='utf8')#创建数据库游标cursor=conn.cursor()#创建列表t_movieTOP250(执行sql语句)cursor.execute('createtablet_movieTOP250(idINTPRIMARYKEYauto_incrementNOTNULL,movieNameVARCHAR(20)NOTNULL,pictrue_addressVARCHAR(100))')try:#爬取数据forurlPathinlistURL:#获取网页源代码response=requests.get(urlPath)html=response.text#正则表达式namePat=r'alt="(.*?)"src='imgPat=r'src="https://atts.yisu.com/attachments/(.*?)"class='#匹配正则(排名【用数据库中id代替,自动生成及排序】、电影名、电影海报(图片地址))res2=re.compile(namePat)res3=re.compile(imgPat)textList2=res2.findall(html)textList3=res3.findall(html)#遍历列表中元素,并将数据存入数据库foriinrange(len(textList3)):cursor.execute('insertintot_movieTOP250(movieName,pictrue_address)VALUES("%s","%s")'%(textList2[i],textList3[i]))#从游标中获取结果cursor.fetchall()#提交结果conn.commit()print("结果已提交")exceptExceptionase:#数据回滚conn.rollback()print("数据已回滚")#关闭数据库conn.close()#top250所有网页网址defpage(url):urlList=[]foriinrange(10):num=str(25*i)pagePat=r'?start='+num+'&filter='urL=url+pagePaturlList.append(urL)returnurlListif__name__=='__main__':url=r"https://movie.douban.com/top250"listURL=page(url)resp(listURL)
以上就是“python爬取豆瓣电影TOP250数据的代码怎么写”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。