以下是源代码,希望有大牛帮我解决问题
import requests
from multiprocessing import Pool
import pandas
from bs4 import BeautifulSoup
def getEventDetails(url):
res = requests.get(url)
soup = BeautifulSoup(res.text,‘html.parser’)
info = {}
soup = BeautifulSoup(res.text, ‘html.parser’)
info[‘标题’] = soup.select(’.event-info h1’)[0].text.strip()
info[‘时间’] = soup.select(’.calendar-strs li’)[0].text
info[‘地点’] = soup.select(’.micro-address span’)[0].text.strip() + ’ ’ + soup.select(’.micro-address span’)[1].text.strip()
info[‘费用’] = soup.select(’.event-detail .pl’)[2].text[3:].strip()
info[‘类型’] = soup.select(’.event-detail a’)[0].text
info[‘信息提供者’] = soup.select(’.event-detail a’)[1].text
info[‘热度’] = soup.select(’.interest-attend span’)[0].text + soup.select(’.interest-attend span’)[1].text.replace(
‘\xa0’, ‘’).strip() + ’ ’ + soup.select(’.interest-attend span’)[2].text + soup.select(’.interest-attend span’)[
3].text.replace(’\xa0’, ‘’).strip()
return info
def main(start):
eventlist = []
url = ‘https://www.douban.com/location/nanchang/events/future-music?start=’ + str(start)
res = requests.get(url)
soup = BeautifulSoup(res.text, ‘html.parser’)
for event in soup.select(’.events-list li .info’):
url1 = event.select(’.title a’)[0][‘href’]
eventlist.append(getEventDetails(url1))
return eventlist
if name == ‘main’:
event_list1 = []
event_list2 = []
for i in range(1):
for j in range(1):
event_list1 = main(j*10)
event_list2.append(event_list1)
writer = pandas.ExcelWriter(‘douban.xlsx’)
df = pandas.DataFrame(event_list2)
df.to_excel(writer,‘Sheet1’)
writer.save()
引用文本
我原以为使用.to_excel()把列表里的内容导入文件里,文件会自动把列表里字典的key和value分开
并自动生成a行xb列的整齐的内容,结果所有的内容都在一个格子里,之后尝试很多方法也没解决
希望有大牛能教教我一些内容导入excel文件里怎么规划
。