作者:落梓- | 来源:互联网 | 2023-10-11 10:58
今天学会了爬虫,昨天只能得到一行一列,今天可以得到所有分页的内容遇到的困难:今天想做一个轮播图,还没研究明白importbs4importpymysqlimportrequests
今天学会了爬虫,昨天只能得到一行一列,今天可以得到所有分页的内容
遇到的困难:今天想做一个轮播图,还没研究明白
import bs4
import pymysql
import requests
from bs4 import BeautifulSoup
import pandas as pd
def download_all_htmls():
htmls=[];
for idx in range(2):
url=f"https://yz.chsi.com.cn/sch/?start={idx*20}"
print("craw html",url)
r=requests.get(url)
if r.status_code!=200:
raise Exception("error")
htmls.append(r.text)
return htmls
htmls=download_all_htmls()
def parse_single_html(html):
name1=[];
soup=BeautifulSoup(html,‘html.parser‘)
tbody=soup.find(‘tbody‘)
print("1")
if isinstance(tbody, bs4.element.Tag):
for tr in tbody.find_all("tr"):
a=tr.find("td").find("a")
name1.append(a.getText().replace(‘ ‘, ‘‘))
print(name1)
return name1
‘‘‘
for idex in range(2):
name2 = parse_single_html(htmls[idex])
name=tbody.find(‘tr‘).find(‘td‘).find(‘a‘)
‘‘‘
conn = pymysql.connect(
host=‘localhost‘, # 我的IP地址
port=3306, # 不是字符串不需要加引号。
user=‘root‘,
password=‘******‘,
db=‘yanhu‘,
charset=‘utf8‘
)
cursor = conn.cursor() # 获取一个光标
for idex in range(2):
name = parse_single_html(htmls[idex])
for a in range(20):
sql = ‘insert into school (name,fenshu,bili) values (%s,%s,%s);‘
name3=name[a]
print(name3)
fenshu=420
bili=0.2
cursor.execute(sql, [name3,fenshu,bili])
print()
conn.commit()
cursor.close()
conn.close()
4/23学习总结